Enriching Component Interfaces with Checkable Dependence Specifications
نویسندگان
چکیده
Component middleware frameworks such as the CORBA Component Model (CCM) and Enterprise Java Beans (EJB) are increasingly being applied to address challenges involved in building large-scale distributed systems. We seek to provide foundations and tools for modeldriven development of such systems in which architectural models serve as highly leveragable abstractions that form a substrate into which a variety of forms of essential behavioral properties are woven. Our vision emphasizes a synergistic integration of analysis and analysis clients at multiple levels of abstraction in a system including both the architectural model (component interfaces and connections) level and the source code (component implementation) level. Dependence and flow properties have proven to be useful behavioral abstractions that can be leveraged in a variety of ways at both the architectural model level and code level. However, previous works provide no mechanism for connecting architectural-level dependences to codelevel dependences, e. g., for the purpose of guaranteeing soundness of model-level specifications by checking that dependences present in implementations conform to model-level specifications – a task that is especially challenging when working with sophisticated component frameworks like CCM. In this paper, we propose a layered approach to enriching component interfaces specifications to include a variety of forms dependence and flow information. We have implemented conformance checks between layers of component specifications using a flexible Java dependence analysis framework, and we report on our experiences applying the framework to a collection of CCM component specifications and implementations. ∗This work was supported in part by the U.S. Army Research Office (DAAD190110564), DARPA/IXO’s PCES program (AFRL Contract F33615-00-C-3044), NSF (CCR-0306607, CCF-0429149, CCF-0444167), and Lockheed Martin. †Manhattan KS, 66506, USA. {rvprasad, jung, hatcliff}@cis.ksu.edu ‡Lincoln, NE, USA. [email protected]
منابع مشابه
Olive (Olea europaea L.) leaf extract and its main component (oleuropein) mitigate the development of morphine physical dependence in rats
Introduction: Recently, it has been demonstrated that olive leaf extract and its main component have calcium channel blocker, anti-inflammatory and anti-oxidative properties. However, the effects of olive leaf extract on opioid dependence have not yet been clarified. Methods: To develop morphine dependence, morphine was injected twice daily for 7 days according to an escalating dose in rats...
متن کاملNondeterministic Modal Interfaces
Interface theories are employed in the component-based design of concurrent systems. They often emerge as combinations of Interface Automata (IA) and Modal Transition Systems (MTS), e.g., Nyman et al.’s IOMTS, Bauer et al.’s MIO, Raclet et al.’s MI or our MIA. In this paper, we generalise MI to nondeterministic interfaces, for which we resolve the longstanding conflict between unspecified input...
متن کاملSupporting Component-based Development by Enriching the Traditional API
Component-based software, particularly distributed componentbased software, makes heavy use of interfaces to de ne the interactions among components. Each of these interfaces is usally presented in the form of an API, as a speci cation of the capabilities of the relevant component. However, while the predominant API model captures the behavior of individual interface members, it neglects the in...
متن کاملAn OCL-based Bridge from Concrete to Abstract Syntax
The problem of converting human readable programming languages into executable machine representations is an old one. EBNF and Attribute grammars provide solutions, but unfortunately they have failed to contribute effectively to model-based Object Management Group (OMG) specifications. Consequently the OCL and QVT specifications provide examples of specifications with significant errors and omi...
متن کاملNegotiable Interfaces for Components
Component specifications are vital for communicating a component’s requirements, as components are subject to third-party composition. Most modern programming languages lack sufficient features to express the full requirements of a component, however, much less enforce them. Preand post-conditions can capture functional aspects of a component’s requirements, but are unable to express many tempo...
متن کامل